home *** CD-ROM | disk | FTP | other *** search
/ Softdisk Supreme / Softdisk Supreme.iso / pc / DSK Files / 0-49 / SD008b.dsk / HORSE.RACE.bas < prev    next >
BASIC Source File  |  2003-06-12  |  7KB  |  198 lines

  1. 1  GOSUB 5009
  2. 3  HOME 
  3. 5  PRINT "THERE ARE 8 HORSES IN THIS RACE"
  4. 10  PRINT : PRINT "MORE THAN ONE PLAYER CAN BET ON A HORSE,BUT ONLY ONE BET PER PLAYER"
  5. 15  PRINT : PRINT "THE HORSES GO DOWN THE TRACK TWO TIMES. WINNER IS THE FIRST HORSE CROSSING THE  FINISH LINE AFTER THE SECOND TIME"
  6. 16  ONERR  GOTO 18
  7. 18  PRINT : INPUT "DO YOU WISH TO USE PREVIOUSLY SAVED     BANKROLL WITH SAME PLAYERS? ";A$: IF  LEFT$(A$,1) = "Y"  THEN 4100
  8. 19  IF  LEFT$(A$,1) < >"N"  THEN 18
  9. 20  VTAB (15): PRINT "HOW MANY PLAYERS?     ";: HTAB 19: INPUT P
  10. 25  IF P >10  THEN  VTAB 13: PRINT " LIMIT OF 10 PLAYERS": GOTO 20
  11. 30 G = 1000: PRINT : PRINT "EACH PLAYER HAS A BANKROLL OF $1000"
  12. 40  GOSUB 5000: PRINT 
  13. 55 L = 200: PRINT : PRINT "THE LIMIT FOR EACH BET IS $200"
  14. 60  FOR I = 1 TO 8: READ A$(I): NEXT 
  15. 70  DATA   SEABISCUIT, CITATION, SECRETARIAT,WAR ADMIRAL, MAN O'WAR, SEATTLE SLEW,TWENTY GRAND, AFFIRMED
  16. 105  VTAB (23)
  17. 110  FOR I = 1 TO P: PRINT "WHAT IS NAME OF PLAYER NUMBER ";I;"?": INPUT N$(I): PRINT : NEXT 
  18. 115  FOR I = 1 TO 8:O(I) =  INT(19 * RND(1)) +2: NEXT 
  19. 135  GOTO 590
  20. 201  GR 
  21. 202  COLOR= 12
  22. 203  FOR I = 0 TO 35
  23. 204  VLIN 5,21 AT I
  24. 205  NEXT I
  25. 220  COLOR= 9
  26. 230  HLIN 0,36 AT 4
  27. 240  HLIN 0,36 AT 22
  28. 250  VLIN 4,22 AT 36
  29. 260  FOR I = 1 TO 8:X(I) = 0: NEXT 
  30. 270 Z1 = 36:Y1 = 36:W1 = 36
  31. 290 Y = 6:Z = 1: FOR I = 1 TO 8
  32. 310  COLOR= Z: PLOT X(I),Y
  33. 330 Y = Y +2:Z = Z +2: NEXT I
  34. 331  GOSUB 575
  35. 332  PRINT : PRINT : PRINT 
  36. 333  VTAB (23): PRINT  TAB( 15)"THEY'RE OFF": GOSUB 576
  37. 335 T2 = 0
  38. 340 T2 = T2 +1
  39. 350 Z = 1:Y = 6
  40. 355  PRINT : PRINT : PRINT 
  41. 360  FOR I = 1 TO 8
  42. 365  COLOR= Z
  43. 370 S = ( INT(2 * RND(1)) +1) *HD(I): IF S >2  THEN S = 2
  44. 380 C(I) = X(I) +S
  45. 390  PLOT C(I),Y
  46. 400  COLOR= 12
  47. 410  PLOT X(I),Y:Y = Y +2
  48. 420 X(I) = C(I)
  49. 422  IF T2 >35  THEN  GOTO 428
  50. 425  IF X(I) >35  THEN X(I) = 0
  51. 428  COLOR= 0
  52. 429  VLIN 4,22 AT 37
  53. 430  COLOR= 9
  54. 432  VLIN 4,22 AT 36
  55. 435  IF X(I) >Z1  THEN 1500
  56. 436  IF X(I) >Y1  THEN 1520
  57. 437  IF X(I) >W1  THEN 1530
  58. 440 Z = Z +2
  59. 445  NEXT I
  60. 446  GOTO 1200
  61. 450  GOTO 340
  62. 460  VTAB (22): PRINT "THE WINNER IS NO.";I;"-";A$(I): GOSUB 575
  63. 461  GOTO 445
  64. 462  VTAB (23): PRINT "SECOND PLACE IS NO ";I;"-";A$(I): GOSUB 575
  65. 463  GOTO 445
  66. 464  VTAB (24): PRINT "THIRD PLACE IS NO. ";I;"-";A$(I): GOSUB 575
  67. 465  TEXT : HOME : GOTO 799
  68. 575  FOR J = 1 TO 3000: NEXT : RETURN 
  69. 576  FOR J = 1 TO 1000: NEXT : RETURN 
  70. 577  FOR J = 1 TO 20: NEXT : RETURN 
  71. 590 I = 0
  72. 600 I = I +1: GOSUB 3000
  73. 610  PRINT : PRINT : PRINT N$(I);", WHICH HORSE DO YOU WANT? (ENTER    THE NUMBER OF THE HORSE)": INPUT H(I)
  74. 615  IF H(I) <1  OR H(I) >8  THEN 610
  75. 620  PRINT : INPUT "AMOUNT OF BET ";A(I)
  76. 625  IF A(I) <1  THEN 620
  77. 630  IF A(I) < = L  THEN 650
  78. 640  PRINT : PRINT "OVER LIMIT. BET AGAIN": GOTO 620
  79. 650  PRINT : INPUT "IS YOUR BET FOR WIN, PLACE OR SHOW?? ";B$(I)
  80. 652  IF  LEFT$(B$(I),1) = "W"  THEN 660
  81. 653  IF  LEFT$(B$(I),1) = "P"  THEN 660
  82. 654  IF  LEFT$(B$(I),1) = "S"  THEN 660
  83. 655  GOTO 650
  84. 660 E = H(I)
  85. 670 O(E) = O(E) - INT(O(E) *A(I)/500): IF O(E) <2  THEN O(E) = 2
  86. 680  IF I <P  THEN 600
  87. 685  HOME : PRINT "HERE ARE THE FINAL ODDS": GOSUB 3010
  88. 687  PRINT : PRINT 
  89. 688  PRINT "PRESS ANY KEY TO START RACE": GET V3$
  90. 690  HOME : VTAB 23: PRINT "THE HORSES ARE AT THE STARTING GATE": GOSUB 575
  91. 710  GOTO 201
  92. 799 I = 0
  93. 800 I = I +1
  94. 810  IF H(I) = Z2  THEN 900
  95. 820  IF H(I) = Y2  THEN 910
  96. 830  IF H(I) = W2  THEN 920
  97. 835  SPEED= 150
  98. 840  PRINT N$(I);", SORRY, YOU DIDN'T WIN ON THIS RACE. YOUR LOSSES ARE $";A(I)
  99. 850 T3(I) = T3(I) -A(I)
  100. 860  PRINT "YOUR BANKROLL IS NOW $";T3(I)
  101. 865  SPEED= 255
  102. 870  IF I = P  THEN 1400
  103. 880  GOTO 800
  104. 900  IF A(I) >0  THEN 1100
  105. 910  IF A(I) >0  THEN 1110
  106. 920  IF A(I) >0  THEN 1120
  107. 1100  IF  LEFT$(B$(I),1) = "W"  THEN 1300
  108. 1110  IF  LEFT$(B$(I),1) = "P"  THEN 1330
  109. 1120  IF  LEFT$(B$(I),1) = "S"  THEN 1360
  110. 1130  GOTO 840
  111. 1200 Z = 15:Y = 20
  112. 1202 T2 = T2 +1
  113. 1205  FOR I = 8 TO 1  STEP  -1
  114. 1220  COLOR= Z
  115. 1230 S = ( INT(2 * RND(1)) +1)
  116. 1240 C(I) = X(I) +S
  117. 1250  PLOT C(I),Y
  118. 1258  COLOR= 12
  119. 1260  PLOT X(I),Y:Y = Y -2:X(I) = C(I)
  120. 1262  IF T2 >35  THEN  GOTO 1266
  121. 1265  IF X(I) >35  THEN X(I) = 0
  122. 1266  COLOR= 0
  123. 1267  VLIN 4,22 AT 37
  124. 1268  COLOR= 9
  125. 1269  VLIN 4,22 AT 36
  126. 1270  IF X(I) >Z1  THEN  GOTO 1500
  127. 1271  IF X(I) >Y1  THEN 1520
  128. 1272  IF X(I) >W1  THEN 1530
  129. 1280 Z = Z -2: NEXT I
  130. 1290  GOTO 340
  131. 1300 T(I) = A(I) *O(Z2): SPEED= 150
  132. 1310  PRINT : PRINT N$(I);", YOU WIN $";T(I);" FOR YOUR 1ST PLACE BET":T3(I) = T3(I) +T(I): GOTO 1380
  133. 1330 S(I) =  INT(A(I) *O(Y2) *.6)
  134. 1340  PRINT : PRINT N$(I);", YOU WIN $";S(I);" FOR YOUR 'PLACE' BET":T3(I) = T3(I) +S(I): GOTO 1380
  135. 1360 V(I) =  INT(A(I) *O(W2) *.3)
  136. 1370  PRINT : PRINT N$(I);" , YOU WIN $";V(I);" FOR YOUR 'SHOW' BET":T3(I) = T3(I) +V(I)
  137. 1380  PRINT " YOUR BANKROLL IS NOW $";T3(I): PRINT 
  138. 1381  SPEED= 255
  139. 1385  IF I = P  THEN 1400
  140. 1390  GOTO 800
  141. 1400  PRINT : INPUT "DO YOU WANT ANOTHER RACE? (YES/NO)";Y$
  142. 1410  IF  LEFT$(Y$,1) = "Y"  THEN 115
  143. 1411  IF  LEFT$(Y$,1) < >"N"  THEN 1410
  144. 1412  HOME 
  145. 1414  VTAB 5: PRINT "DO YOU WANT TO SAVE THE PLAYERS' NAMES  AND BANKROLLS FOR LATER USE?  (Y/N) ": INPUT S$
  146. 1415  HOME 
  147. 1416  IF  LEFT$(S$,1) = "Y"  THEN 4000
  148. 1418  IF  LEFT$(S$,1) < >"N"  THEN 1414
  149. 1420  PRINT : PRINT "THANKS FOR PLAYING HORSE RACE.  HERE ARE FINAL BANKROLLS."
  150. 1425  SPEED= 150
  151. 1430  FOR I = 1 TO P: HTAB 15: PRINT N$(I);: HTAB 30: PRINT T3(I): PRINT : NEXT 
  152. 1432  VTAB 20: PRINT "PRESS A KEY TO CONTINUE ": GET G$
  153. 1435  SPEED= 255
  154. 1436  IF SA = 1  THEN  RETURN 
  155. 1440  HOME : PRINT "    THE END": END 
  156. 1500 Z1 = 45:Z2 = I:X(I) = 0: GOTO 460
  157. 1520 Y1 = 45:Y2 = I:X(I) = 0: GOTO 462
  158. 1530 W1 = 45:W2 = I:X(I) = 0: GOTO 464
  159. 3000  HOME : PRINT "THE HORSES AND THEIR ODDS ARE ----"
  160. 3010  FOR J = 1 TO 8: PRINT 
  161. 3020  PRINT "NO. ";J;"  ";A$(J); TAB( 25);O(J);"/1":HD(J) =  INT(20/O(J))
  162. 3025  IF HD(J) >2  THEN HD(J) = 2
  163. 3030  NEXT : RETURN 
  164. 4000  PRINT  CHR$(4);"OPEN HRSAVE"
  165. 4010  PRINT  CHR$(4);"WRITE HRSAVE"
  166. 4015  PRINT P
  167. 4020  FOR I = 1 TO P
  168. 4030  PRINT N$(I): PRINT T3(I): NEXT 
  169. 4040  PRINT  CHR$(4);"CLOSE HRSAVE"
  170. 4050  GOTO 1420
  171. 4100  PRINT  CHR$(4);"OPEN HRSAVE"
  172. 4110  PRINT  CHR$(4);"READ HRSAVE"
  173. 4115  INPUT P
  174. 4120  FOR I = 1 TO P
  175. 4130  INPUT N$(I): INPUT T3(I): NEXT 
  176. 4140  PRINT  CHR$(4);"CLOSE HRSAVE"
  177. 4145  POKE 216,0
  178. 4150  HOME : PRINT : PRINT "HERE ARE YOUR BANKROLLS FROM LAST TIME": PRINT 
  179. 4160  FOR I = 1 TO P: HTAB 15: PRINT N$(I);: HTAB (30): PRINT T3(I): PRINT : NEXT 
  180. 4165 L = 200: PRINT : PRINT "THE LIMIT FOR EACH BET IS $200"
  181. 4170  VTAB 20: PRINT "PRESS A KEY TO CONTINUE ": GET G$
  182. 4190  FOR I = 1 TO 8: READ A$(I): NEXT 
  183. 4200  GOTO 115
  184. 5000  FOR I = 1 TO P:T3(I) = G: NEXT : RETURN 
  185. 5009  TEXT : HOME 
  186. 5010  PRINT "****************************************";
  187. 5011  PRINT "**                                    **";
  188. 5012  PRINT "**        H O R S E  R A C E          **";
  189. 5013  PRINT "**                                    **";
  190. 5014  PRINT "**      WRITTEN BY JACK WILCOX        **";
  191. 5015  PRINT "**           LAFAYETTE, CA            **";
  192. 5016  PRINT "**             JUNE 1980              **";
  193. 5017  PRINT "**                                    **";
  194. 5018  PRINT "**            IN APPLESOFT            **";
  195. 5019  PRINT "**                                    **";
  196. 5020  PRINT "****************************************";
  197. 5021  VTAB 23: HTAB 10: PRINT "PRESS ANY KEY TO BEGIN": GET C$
  198. 5030  RETURN